Embedded processors often have peripheral devices attached from which data is either received or to which data is sent. Data received from peripheral devices must be detected, handled, and provided to appropriate software executing on the embedded processor for the embedded processor to perform its intended function(s).